Interface for sharing posts about a live online event among users of a social networking system

ABSTRACT

An external system (e.g., a website) is associated with an event and includes an interface that allows users to interact with streams of content associated with a social networking system. The interface allows a user to provide posts about the event via the interface, where the posts are displayed in the interface and also in a social networking interface on social networking system in connection with the user and other users associated with that user. The user can view, via the interface on the external system, posts from all users that are provided via the interface (e.g., everyone watching the event), thereby increasing the likelihood that the posts are relevant to the event. The user can also view, via the interface, posts from users associated with the user via the social networking system (e.g., friends of the user), regardless of where those are posted.

This application is continuation of co-pending U.S. application Ser. No.12/646,838, filed Dec. 23, 2009, which is incorporated by reference inits entirety.

BACKGROUND

The present invention relates generally to media presentation, and moreparticularly to an interface for sharing posts about a live online eventamong users of a social networking system.

Social networking systems include social utilities that track and enableconnections between users (including people, businesses, and otherentities). In particular, social networking systems allow users tocommunicate information more efficiently and to associate themselveswith other users, thus creating a web of connections among the users ofthe social networking system. Users commonly share information with oneanother via the social networking system. A user can post text andcontent (e.g., photos, videos, music, links, or any other type ofdigital or other content that can be posted on the Internet) or acombination of both, and can post comments relating to other users andtheir posts. These types of user posts or “news stories” can bedisplayed to users in a feed or stream of content (either on a socialnetworking website or elsewhere).

Posts and related comments by users sharing information on the socialnetworking system sometimes tend toward particular topics or currentevents. When a noteworthy event has occurred or is in progress, many ofthe posts on the social networking system will be directed toward thisevent or related topics. A user interested in this event may beinterested in reading the posts of other users directly relating to theevent, many times in conjunction with concurrently watching or attendingthe event (e.g. the Super Bowl, the Oscars, the presidentialinauguration, etc.). Yet, in a social networking system, posts relatedto a particular event are typically mixed in with a variety of unrelatedcontent and can, therefore, be lost in the shuffle or difficult tofollow.

Technology today allows many events to be captured and viewed ontelevision, the Internet, etc. These broadcast accounts of events (e.g.via video, audio, text description, etc.) can be followed by users ontelevision, websites, mobile devices, and so forth. A user can easilyfollow the broadcast of an event of interest while the event is actuallyhappening or being broadcast. However, to share this event with otherusers of a social networking system, the user has to do so separatelyfrom following the event itself. Using means that are not associatedwith the event to post about the event may result in the user's post notbeing read by others until the post is stale and the event has ended orhas moved on to a new topic. There is no easy way for the user tosimultaneously follow an event outside a social networking system whileinteracting about the event in real time with other users of a socialnetworking system (or other users following the event in general). Thereis also no mechanism for capturing and using these interactions back inthe social networking system.

SUMMARY

Embodiments of the invention provide a system and method for receivingand displaying posts related to and concurrent with an event (or thepresentation of an event in a case where the event is not broadcast orpresented live). Embodiments of the invention also provide for thereceipt and display of additional content that may be unrelated to theevent. A user can make posts and share comments with others using aninterface associated with an event. These users can be users of thesocial networking system, but they do not need to be.

The interface for receiving and displaying posts related to the eventmay be provided on an external system (e.g., a third party website orother system that is separate or distinct from the social networkingsystem). In such an embodiment, the external system receives postsrelated to an event entered into the interface by users, which may bedisplayed in the interface as a stream of posts. The interface may alsodisplay in the stream (or in a separate stream in the same or adifferent interface) a stream of posts made by users on a socialnetworking system which have been input into the social networkingsystem rather than the external interface (e.g., status updates by usersof the social networking system entered into the social networkingsystem). These multiple streams can be viewed by the user in theinterface of the external system. The viewing user's posts can beincorporated into any of these streams. The stream of posts from thesocial networking system displayed to the viewing user may also belimited to posts from users with whom the viewing user has a connectionin the social networking system (e.g., the user's “friends,” or“connections”).

In this way, in one embodiment, an external interface provides the dualstreams to a viewer: (1) a stream of posts about a particular event,entered into the external interface by people concurrently followingthat event; and (2) a stream of posts entered into a social networkingsystem interface and received from the social networking system by theexternal interface. These posts are not necessarily related to the eventand may be filtered to limit the stream of posts only to posts made bythe viewing user's connections in the social networking system.

Moreover, many social networking systems display feeds or streamspopulated by posts made by users of the social networking system.Embodiments of the invention allow posts made by users of a socialnetworking system through an external interface (e.g. posts related to aparticular event) to be integrated into the streams on the socialnetworking system. In this way, a user can communicate posts about aparticular event made on an external system to the social networkingsystem as the user is following the event, without needing to log intothe social networking system and providing the posts directly to thatsystem.

An illustrative embodiment of the above-described invention would where,Sam, a user of a social networking system is viewing a live streamingvideo of the Pipeline Masters surf content. Sam would be able to inputposts about the contest into an external interface integrated intopipelinemasters.com. That external interface would display a stream ofall posts input into the external interface on pipelinemasters.com byother viewers of the event for other users of the interface to view. Atthe same time, the external interface would display a separate streamcontaining posts of all of Sam's connections in the social networkingsystem. Finally, all of Sam's posts entered through the externalinterface on pipelinemasters.com would also be displayed to Sam and hisconnections on the social networking website associated with the socialnetworking system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is high-level diagram illustrating how an external system caninteract with a social networking system and client devices, inaccordance with one embodiment of the invention.

FIG. 2 is an example of an interface of an external system, inaccordance with one embodiment of the invention.

FIG. 3 is an example of another view of the interface of an externalsystem, in accordance with one embodiment of the invention.

FIG. 4 is an example of a social networking interface of a socialnetworking system, in accordance with one embodiment of the invention.

FIG. 5 is a flow chart illustrating the steps performed on the externalsystem in receiving and displaying posts, in accordance with oneembodiment of the invention.

FIG. 6a is a flow chart illustrating the steps performed by the socialnetworking system in providing, to an external interface, posts enteredinto a social networking interface, in accordance with one embodiment ofthe invention.

FIG. 6b is a flow chart illustrating the steps performed by the socialnetworking system in receiving and displaying posts about an evententered via an external interface, in accordance with one embodiment ofthe invention.

The figures depict various embodiments of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION

System Architecture

A social networking system offers its users the ability to communicateand interact with other users of the social networking system. Usersjoin the social networking system and then add connections to a numberof other users to whom they desire to be connected. As used herein, theterm “connection” refers to any user (whether an individual or otherentity) of the social networking system to whom another user has formeda connection, association, or relationship via the social networkingsystem (connections may sometimes also be referred to as “friends”).Connections may be added explicitly by a user or automatically createdby the social networking system based on common characteristics of theusers (e.g., users who are alumni of the same educational institution).Connections in a social networking system can be one or two-wayconnections. For example, if Bob and Joe are both users and connected toeach other in the social networking system, Bob and Joe have a two-wayconnection. If Bob is interested in learning more information about Joe,but there is not a reciprocal connection, a one-way connection may beformed with Bob being connected to Joe, but Joe not being connected toBob. The connection between users may be a direct connection; however,some embodiments of a social networking system allow the connection tobe indirect via one or more levels of connections. The social networkingsystem keeps a record of information for each user and the connectionsamong the users. The record of users and their connections in the socialnetworking system may be called a “social graph.” As used herein, a“social network” is a collection of other users to whom a user isconnected in the social networking system. A “social networking system,”is the collection of hardware and software that implements a servicethat allows a collection of users (e.g., a social network) tocommunicate and interact with one another.

The social networking system can be a social networking website, asdescribed in some examples below, but can also be implemented in otherways, such as with an application that obtains information about auser's profile from the social networking system using, e.g.,application programming interfaces (APIs). The external system can beany system that is not a part of the social networking system. Theexternal system can be a website (e.g., a third party website separateor distinct from the social networking website, or hosted on or using aseparate machine, server, subnetwork, URL, domain, etc.), but could alsobe implemented in other manners. A social networking system can also beimplemented as one of several features of another website, network orsystem. In such cases, the social networking system may simply add asocial component to a website with other features and services. Theexternal system can have one or more interfaces for receiving anddisplaying posts by users or streams of user posts, referred to here as“external interfaces,” which can be managed or provided by the socialnetworking system or the external system. The social networking systemcan has have one or more interfaces for receiving and displaying postsby users or streams of user posts, referred to here as “socialnetworking interfaces,” which are managed/provided by the socialnetworking system.

FIG. 1 is high-level diagram illustrating how an external system caninteract with a social networking system and client devices, accordingto an embodiment of the invention. FIG. 1 illustrates an external system150, a social networking system 100, and client devices 110 connected bya network 112. Only three clients 110 are shown in FIG. 1 in order tosimplify and clarify the description, though embodiments can havethousands or millions of clients 110, as well as multiple externalsystems 150 and social networking systems 110.

The client devices 110 comprise one or more computing devices that canreceive user input and can transmit and receive data via the network112. For example, the client devices 110 may be desktop computers,laptop computers, smart phones, personal digital assistants (PDAs), orany other device including computing functionality and datacommunication capabilities. The client devices 110 are configured tocommunicate via network 112, which may comprise any combination of localarea and/or wide area networks, using both wired and wirelesscommunication systems.

The social networking system 100 comprises a computing system thatallows users to communicate or otherwise interact with each other andaccess content as described herein. The social networking system 100 cancomprise any entity that provides social networking services,communication services, dating services, and so forth (social networkingsystems do require a website to operate). For example, the socialnetworking system 100 can comprise a social networking website thatallows one or more users at the client devices 110 to communicate withone another via the website. In one instance, the user associated withthe client device 110 may communicate with the user associated withanother of the client devices 110 via a social networking website thatoffers the user an opportunity to connect with one or more other users(e.g., social network friends).

Systems outside of the social networking system 100, called externalsystems 150, can receive or access information available in the socialnetworking system 100. Users of the external system 150 can be users ofa social networking system 100. The external system 150 can accessinformation from the social networking system using, for example, an APIprovided by or associated with the social networking system 100. Thesocial networking system 100 can also provide information (e.g., streamsof content from users of the system 100) to the externalsystem/interface. The external system 150 may use the informationobtained from the social networking system 100 for various purposes(e.g., for display on an interface on the external system 150) or maysimply allow the information to be displayed by the social networkingsystem 100 on an interface on the external system.

FIG. 1 contains a block diagram of the social networking system 100,according to an embodiment. The social networking system 100 includes auser interface module 102, communication module 103, a post-deliverymodule 104, a posteceiving module 106, an incorporation module 108, adisplay module 110, a user profile store 120, a post cache 121, aconnection store 122, and an action log 124. FIG. 1 also contains ablock diagram of the external system 150, according to an embodiment.The external system 150 includes a user interface module 152, a postreceiving module 154, an incorporation module 158, a display module 160,a post delivery module 162, a content store 170, and a social networkdata store 172. In other embodiments, the social networking system 100or the external system 150 may include additional, fewer, or differentmodules for various applications. Conventional components such asnetwork interfaces, security mechanisms, load balancers, failoverservers, management and network operations consoles, and the like arenot shown so as to not obscure the details of the system.

The social networking system 100 stores user profiles in the userprofile store 120. Profiles contain information about users of a socialnetworking system, such as biographic, demographic, work experience,educational history, hobbies or interests, location, and the like. Theuser profile store 120 can also store information regarding a user'sprivacy settings that indicate which other users can view the user'sinformation (e.g., everyone, friends only, friends of friends, certaingroups of friends, etc.). The user can designate certain information asprivate, while other information is public (e.g., access to his profilephoto for all users, but access to other photos only for friends orparticular groups of friends). The user can define privacy settings inadvance, which can be stored in the store 120 and can be adjusted laterif desired. The user can also define one or more settings in real-timeor as needed. For example, a user might post a status update on thesocial networking system 100 and select a setting of “post to everyoneon live feed.” In this case, that update can be included in the livefeed on the interface of the external system 150. Similarly, the usermight post content on the external system 150, and can select privacysettings for that type of content. Thus, each user's posts can bedisplayed in accordance with the privacy settings of those users (e.g.,displayed only to certain users, displayed only on certain externalwebsites, etc.).

The social networking system 100 further stores data describing one ormore connections between different users in the connection store 122.The connection information may indicate users who have similar or commonwork experience, group memberships, hobbies, educational history and soforth. Additionally, the social networking system 100 includesuser-defined connections between different users, allowing users tospecify their relationships with other users. For example, theseuser-defined connections allow users to generate relationships withother users that parallel the users' real-life relationships, such asfriends, co-workers, partners, and so forth. Users may select frompredefined types of connections, or define their own connection types asneeded. The connection store 122 thus stores all connection formed byusers within the social networking system.

The social networking system 100 also provides a social networkinginterface with which users can interact (described in more detailregarding FIG. 4). The interface allows a user to post content (e.g.,videos, photos, links, text, etc.). For example, the user might post astatus update indicating that the user is “going on a trip this weekendto the Grand Canyon.” This post may then be displayed to a number ofother users, such as the poster's connections (e.g., friends) in astream of content called a stream, news feed or a live feed. Thiscontent stream communicates information that may be relevant to eachparticular user of the social networking system. Where the socialnetworking system 100 is a social networking website, the stories can bepresented to a user via one or more web pages of the social networkingwebsite, for example in each user's home page or news feed page.

Other types of content can also be included in the stream of posts. Forexample, the social networking system 100 can store information relatedto user actions on and/or off the social networking system 100, andthese actions can then be reported in the stream of posts. The actionstaken by users are recorded in the action log 124 (e.g., a database ofentries in which an entry is added for each action). After an amount oftime, the action log 124 will become populated with a number of entries,and thus will contain a very rich set of data about the actions of theusers. This data can be analyzed and filtered to identify trends andrelationships in the actions of the users, as well as affinities betweenthe users and various objects. The news content relating to actionstaken by users might notify the user that another user associated withhim posted new photos, commented on something, added a connection toanother user, or otherwise took an action that could be of interest tothe user. The content can provide a quick summary (e.g., a few lines)regarding that particular action taken by the other user, which isincorporated into the stream of posts provided to the user. Thus, eachuser is provided with a stream of posts comprising one or a few lines oftext, content (e.g., photos, videos, hyperlinks, music, etc.), usercomments, advertising, and any other type of content capable of beingposted on the Internet (or a combination of these items).

As stated above, the external interface on the external system 150 canbe provided by and managed by either the external system itself or bythe social networking system 100. In embodiments in which the externalsystem 150 manages the external interface, the external system 150includes the modules shown in FIG. 1 that operate as described below. Inembodiments in which the social networking system 100 manages theexternal interface, the external system 150 may not have certain of thecomponents shown in FIG. 1, and the actions described below for theseexternal system modules may be performed by the correspondingly-namedmodules in the social networking system 100.

Referring now to the modules of the external system 150 illustrated inFIG. 1, the user interface module 152 provides/displays an interface onan external system 150 as a forum for receiving and displaying postsrelated to an event. In embodiments in which the social networkingsystem manages the interface on the external system 150, the userinterface module 102 of the social networking system 100 can provide (orcan operate with module 152 to provide) this interface for the externalsystem 150. The event can be a live event, and streaming media contentregarding this event can be provided alongside or in association withthe interface. The external interface can be any type of user interface,such as a graphical user interface (GUI) or a web-based user interface(WUI). Where the external system 150 is website, the event can be a liveonline event displayed on a web page as streaming content. A web-baseduser interface can be provided for this streaming event. The event canbe a historical or noteworthy event, such as a presidential election orinauguration. For example, the event might be live-streaming newscoverage of the presidential inauguration provided in a window on a webpage of a news website, such as CNN.com. However, the interface can beassociated with any type of an event, such as a sporting event, amusical concert, a news item, or any other event (e.g., live, televised,broadcast, etc). The interface is described in more detail belowregarding FIGS. 2 and 3.

The post-receiving module 154 receives posts provided in the interfaceby users. In embodiments in which the social networking system 100manages the external interface, the post receiving module 106 of thesocial networking system 100 can receive (or can operate with the module154 to receive) the posts in the manner described below for module 154.The interface can include a post field, into which a particular user caninsert one or a few lines of text. For example, a user watching asporting event might insert into the post field of the interfaceassociated with that event a post such as “What an amazing play he justmade!” In some embodiments, the particular user is not limited toproviding lines of text in the interface, but can attach or otherwiseprovide other items, including photos, videos, links, event or calendaritems, etc. The particular user can also comment on other user's postsor indicate that he likes/dislikes a user's post (e.g., by selecting alike/dislike link, a thumbs up/down icon, or in other similar ways).

The post-receiving module 154 not only receives a post related to theevent entered into the interface on the external system by theparticular user, in one embodiment, but the module 154 also receives anumber of other posts related the event entered into the interface byother users. In some embodiments, however, there is no post-receivingmodule 154 in the system, or the module 154 represents simply theinterface itself into which posts are entered. Where the interface isassociated with a live event, the interface can receive posts on theevent from many users (e.g., thousands or millions) as the event isoccurring. Since the interface may be provided on the external system150 in association with the streaming data associated with the event,the users can enter posts as the event is happening, without having torely on a separate location for entering posts. Where the externalsystem 150 is a website displaying a live streaming event, the user canenter posts directly into the web page, without having the move to aseparate web page for post-entering (e.g., a web page of a socialnetworking website).

The post-receiving module 154 can also receive a stream of posts fromthe social networking system 100. The posts are generated by the socialnetworking system based on actions of one or more users of the socialnetworking system. For example, the action can include the user's entryof a post or status update into a social networking interface, theuser's posting of a photo or video, the user's forming of a newconnection to another user, the user's joining of a fan club for aproduct or business, the user's posting of or subscribing to a newevent, the user's using of an application, the user's tagging of anotheruser in a photo/video, and any other action that can be performed by auser of a social networking system 100 (e.g. actions on the socialnetwork, actions on third party sites elsewhere on the Internet, actionsat physical locations, etc.). As explained above, the social networkingsystem 100 can provide a live feed or news feed of content to users ofthe system 100. This stream of content includes stories about varioususers, including their posts, comments, status updates, news about theiractions, etc. Typically, a user receives on the social networking system100 a feed of information about other users with whom he is connected inthe social network (e.g., friends of the user). This stream of poststhat is provided to the users on the social networking system 100 canalso be provided for display on the external interface.

The post-receiving module 154 can receive posts or the stream of postsfrom the social networking system 100 in a number of ways. In oneembodiment, the social networking system 100 comprises an API interfacethat other entities, such as websites or client applications, canaccess. The external system 150 can call one or more of these APIs andretrieve information about a user entering posts into the externalsystem interface. The term “API” refers to sets of technologies thatallow entities, such as websites, to interact using Simple Object AccessProtocol (SOAP), JAVASCRIPT®, and other technologies. For example, thesocial networking website, FACEBOOK®, has incorporated into its platforman “open stream API” that allows users and other entities, includingexternal systems 150, to read and interact with streams of socialnetwork content anywhere. Where the API is an open stream API, theexternal system 150 can receive streams of data from the socialnetworking system 100 (e.g., a live feed of content regarding the user'ssocial network friends). External systems 150 can directly access astream of social network content associated with a given user, on behalfof that user, and can then display the content in the manner mostrelevant for the user experience (e.g., by filtering, remixing, ordisplaying the stream in different manners). Using this open stream API,users can also publish back into the stream, add comments, providelikes/dislikes, and otherwise interact with the with any stream itemthrough any interface that publishes to the stream. In otherembodiments, no APIs are necessary for the external system 150 toreceive and display the stream, and the external system 150 has andneeds no additional data about the stream, the posts, or the userconnections. For example, where the social networking system 100 managesthe external interface, the social networking system 100 can display ordeliver the stream of posts to the external interface. In this case, anAPI is not used for accessing the stream that is displayed in theinterface.

For displaying a user's social network content when the user isaccessing the external system 150, the user may be required to log intoan account associated with the social networking system 100 or mayotherwise be asked to provide identifying information. The user may beable to log in or provide information without leaving the externalsystem 150 (e.g., without having to navigate to a social networkingwebsite). This log-in or information-providing step may be required inorder for the external interface to receive or display the stream, or inembodiments in which APIs are used, this step may be required for theexternal system 150 to be able to call the APIs or otherwise access thesocial network information. In some embodiments, the social networkingsystem 100 asks for the user for approval for providing of hisinformation to the external interface. The user can also give approvalin advance, such as an approval on the social networking system 100 forany display of or access of his content by external systems, or bycertain defined external systems (e.g., all news websites, or a list ofspecific approved websites).

Similarly, the user can give approval to provide only certaininformation, which may be governed by privacy settings. In someembodiments, this pre-approval data by the user can be stored by thesocial networking system 100 for streamlining or avoiding the log-inprocess for future events that the user views. In other embodiments, theuser's log in or other identifying data can be stored by the externalsystem 150 in the social network data store 172. Where the pre-approvaldata is stored by the social networking system 100, the social networkdata store 172 may be absent from the external system 150. In someembodiments, one or more universal web identity systems can be used inproviding streams of posts on the external system 150. These typessystems can provide standard mechanisms for authenticating users byallowing users to log into different services using a universal digitalidentity (e.g., OpenID). In some cases, these systems allow users toconnect to their social networking identities or accounts (e.g.,including profile, friends, privacy settings, applications, etc.) viathird party systems or websites (e.g., FACEBOOK® Connect). In thismanner, such a universal ID system can be used on the external system150 to allow to access social networking information while viewing alive online event.

The stream of posts received by module 154 can be the same streamdisplayed on the social networking system 100 in the social networkinginterface. However, the stream received or provided on the externalsystem 150 can also differ. In one embodiment, the user can apply one ormore filters to view only certain of the content from the socialnetworking system 100. For example, the user can view content relatingonly to certain subgroups of friends. The user can also view onlycontent entered into a particular field on the social networking website(e.g., content entered into a particular fan site, which could be morerelevant to the event on the external system 150). The user can alsofilter the posts to include only posts relating to the event (e.g., afilter by key word searching, by entry into particular fields, or byanother manner of distinguishing between posts on different topics).Similarly, the user can elect to view only posts from his connectionsthat were entered into the external interface. The module 154 cancontinue to receive the stream of posts from the social networkingsystem 100 as the event is occurring and during the entire event. Insome embodiments, the module 154 receives the stream of posts for acertain period of time (e.g., 10 minutes, 30 minutes, an hour, twohours, etc.) before and/or after the event, for a pre- andpost-discussion of the event.

The incorporation module 158 incorporates posts from the user into thestream of other posts entered into the external interface and into thestream of posts received from the social networking system 100. As theuser continues to post into the interface of the external system 150,the module 158 continues to incorporate the posts into these streams ofcontent. In other embodiments, the external system 150 does not includean incorporation module 158, and instead the user's posts are includedwith the stream of posts from the social networking system 100 or theincorporation module 108 of the social networking system 100 manages (oroperates with module 158 to manage) the incorporation.

The display module 160 displays the stream of content, which may includethe user's own posts, on the external system (or other location wherethe streams are displayed). In other embodiments, the display module 110of the social networking system 100 manages (or operates with module 160to manage) the display on the external system (or elsewhere). In oneembodiment, the user can view two different streams of content. First,the user can view a stream of posts entered into the external interfaceassociated with an event. These posts are likely related to the eventsince they are made concurrently with the event and in some cases in thesame interface that is broadcasting the event. Second, the user can viewa stream of posts from a social networking system of which the user is amember. These posts may or may not be related to the event since some ofthem are provided in an interface separate from the event (e.g., on asocial networking website). This stream of posts provided to the usercan be limited to content entered by the user's connections (e.g.,friends of the user). In this manner, the user can have a conversationwith his social network connections while viewing the event. One or moreof the user's connections may also be viewing the event and may beentering posts via the external system interface. Thus, in someembodiments, the stream of posts from the user's connections may belimited to posts entered in the external interface, so those posts willlikely be relevant to the event. In one embodiment, the posts by theuser's connections can be displayed both in the general stream of postsabout the event (e.g., the first stream described above), and the streamof posts originating from the social networking system 100.

The streaming content can be displayed in a number of different ways. Inone embodiment, the external interface includes one or more views orviewing means (e.g., tabs, buttons, icons, etc.) the user can select toview information. For example, the interface can provide a general or“everyone watching” tab that the user can select to view the stream ofall posts entered via the external interface. The external interface canalso provide a connections or a “friends” tab that the user can selectto view the stream of posts filtered to show only hisconnections'/friends' posts. This “friends” tab stream can include postsentered by the user's connections in the external interface, in thesocial networking interface, or in both. In this embodiment, the twotabs allow a user to switch between viewing the two streams. Othermechanisms can also be used for allowing users to select between thestreams. In other embodiments, the two streams are providedsimultaneously (e.g., side-by-side) on the external system 150. Infurther embodiments, only one stream is provided, or additional streamsbeyond the two streams are provided (e.g., different streams of contentrelating to a user's particular social network groups). Posts from anyof these streams may also be displayed in other arrangements and mayalso be ordered in different ways (e.g. relevance, chronological, etc.).

In some embodiments, the user can view these streams of content as he isviewing the event. The posts can be updated in real time so the postsare always up to date. In this manner, posts remain relevant to what isoccurring in the event. In some embodiments, the external system 150provides the streams of content associated with the event to the socialnetwork data store 172 for storage. The event content itself may also bemade available for storage in the content store 170. When this contentis stored, users can view the event and associated streams of content ata later time. In other embodiments, no storage takes place making thesocial network data store 172 and the content store 170 unnecessary.

The post-delivery module 162 manages the delivery of content from theexternal system 100 to the social networking system 100. Thepost-delivery module 162 provides the social networking system 100 withposts users make through the external system interface. In otherembodiments, the post-delivery module 162 is absent from the system 150,and the social networking system 100 has access to the posts directly(e.g., using module 104 or 106). These posts can be provided/accessed inreal-time, as they are entered into the interface. These posts can thenbe included in a stream of posts or news feed displayed on the socialnetworking system 100. In this manner, the user's connections/friendsthat are accessing the social networking system 100 can be immediatelyappraised of posts the user makes while viewing and posting about anevent on an external system 150. The user's connections/friends can alsorespond to or comment on the user's posts via the social networkinginterface. These responses and/or comments can be displayed to the userin the stream on the external interface.

One or more mechanisms can be used to identify from where a given postoriginated. In one embodiment, an icon, a link, or some other identifieris included with certain posts that denotes whether that post originatedon the social networking system 100 or the external system 150. Forexample, the identifier can indicate that certain of the posts that auser is viewing on the social networking system 100 were entered on anexternal interface of an external system 150. The identifier can alsoprovide information about the particular live event with which the postsare associated (e.g., identifying the live event, providing thetime/date of the live event, and other data about the event). In anotherembodiment, the identifier or icon includes text or a small image. Theidentifier can also provide sponsorship data or an advertisementassociated with the live event. For example, posts on the externalsystem 150 relating to a live event can be displayed on the socialnetworking system 100 with information from a sponsor of that live event(e.g., “Brought to you by Audi”).

Referring now to the modules of the social networking system 100illustrated in FIG. 1, a user interface module 102 provides the socialnetworking interface for receiving posts by social networking systemusers. The module 102 also manages communications between the socialnetworking system 100 and the external system 150. In some embodiments,the module 102 also provides the external interface for receiving anddisplaying posts related to an event, as described above regardingmodule 152. The user interface module 102 receives a request from anexternal system to provide a particular user a stream of posts (e.g.,posts made or other actions taken on the social networking system 100).In some embodiments, the external system 150 requests that the socialnetworking system send the content to the external system 150 orotherwise provide access to the content. In some embodiments, therequest is made through an API. The request can also include identifyinginformation or log-in data for the user for whom the content is beingrequested. In other embodiments, no request is received by the socialnetworking system 100. The system 100 simply provides the informationwithout request. The request may also be prompted by a user logging tothe external interface using his social networking login credentials,clicking on a “friends” tab or otherwise interacting with the externalinterface, and so forth.

The social networking system 100 can also include a post cache 121 forstoring posts by users entered on the social networking interface and/orthe external interface. In one embodiment, when a user's connectionspost content in either interface, some or all of these posts (or dataregarding these posts) can be stored in the post cache 121 until theuser requests a stream of content from his connections (e.g., byclicking on a “friends” tab on the external interface, by clicking on alive feed link in the social networking system 100, by refreshing a webpage, etc.). In another embodiment, all or part of the posts from auser's connections can be dynamically generated/provided by the socialnetworking system 100 when the user requests a stream of content fromhis connections. The stream of posts by connections of a given user(e.g., shown via the “friends” tab) will be unique to that user. Thestream can include posts by the user's connections in the socialnetworking interface, in the external interface, or in both. In afurther embodiment, the post cache 121 stores posts entered on theexternal interface for providing a global stream of content to userswhen users request a stream from everyone watching the event (e.g., byclicking on an “everyone” tab on the external interface). The streamprovided via the “everyone” tab can include anyone on the externalsystem posting via the external interface, or can include only usershaving accounts with or otherwise registered with the social networkingsystem 100 (e.g., by prompting users to log in to or sign up with thesocial networking system 100 to post content). Since this global streamis not unique to any particular user, it can be shared amongst users.The global stream of posts will be updated more frequently since itincludes a larger set of users, and so caching the global stream allowsfor more efficient streaming of content and focus of renderingresources, etc. Similarly, since updates occur less frequently to the“friends” tab stream, more resources can be focused on the globalstream. In some embodiments, all or part of the post cache 121 can beassociated with the external system 150 or can otherwise be locatedoutside of the social networking system 100. In further embodiments,some or all of the posts for the “friends” tab and “everyone” tab may bestored in content store 170 of the external system 150.

The post-delivery module 104 manages the delivery of content to theexternal system 100 from the social networking system 100. Thepost-delivery delivery module 104 provides to the external system therequested stream of posts for display to the user on the externalinterface. In some embodiments, the module 104 is an API that providesthe content by providing access to the content via the API. In otherembodiments, the module 104 itself accesses the external interface anddisplays the content. The content may also be delivered or accessedaccording to the user's privacy settings or sharingsettings/authorizations. In some embodiments, the module 104 receives arequest to provide for a particular user a stream of posts entered intothe social networking interface by the user's connections, and themodule 104 can the providing of this request stream of posts for displayto the particular user in the external interface.

The post-receiving module 106 can access or receive posts entered intothe external system interface. Specifically, the module 106accesses/receives a post related to an event entered into the interfaceon the external system by a user. As explained above, in one embodiment,the post delivery module 162 of the external system 150 provides userposts to the social networking system 100 as these posts are enteredinto the external system interface. The module 106 receives theseprovided posts. In other embodiments, the module 106 itself accesses theposts or receives the posts via the external interface. In someembodiments, the module 106 also receives via the social networkinginterface posts by users of the social networking system.

The incorporation module 108 incorporates the posts accessed/receivedfrom the external system into a stream of posts on the social networkingsystem 100. Thus, content provided to the user and/or his connections onthe social networking system 100 can include posts the user made on theexternal system.

The display module 110 displays posts accessed/received from theexternal system to the user and/or his connections on the socialnetworking system 100. Users accessing the social networking system 100can thus view posts made on the external system interface by theirsocial networking system connections (and may also respond to theseposts using the social networking system interface). In embodiments inwhich the social networking system 100 manages the external interface,the module 110 provides for display via the external interface postsfrom users of the external system.

External System Interface

FIG. 2 is an example of an interface 201 of an external system 150, inaccordance with one embodiment of the invention. The external system 150in this example is a portion of a web page 200, CNN.com, providing alive feed of the presidential inauguration. The interface 201 is shownon the right-hand side of the web page 200 next to the event display 204(though the interface 201 can be arranged in other manners on the page,for example, located in various portions of the page or having differentlevels of transparency or size). The interface 201 in this example is aninterface associated with the company FACEBOOK®, though other socialnetworking system interfaces can be used as well. The interface 201includes a posts field 206 at the top of the interface 201 in which theuser can make posts (e.g., text, images, videos, link, etc.).

Below the posts field 206 is the stream of posts 202 displayed in theinterface 201. In this embodiment, each post in the stream is associatedwith a user by other identifying information, such as a photo, a timeentered, etc. In other embodiments, posts can be associated with usersby other information or can be completely anonymous (the existence andnature of identifying information can also be left up to the user).There is also provided a “comment” link that a first user can click onto open up a box below a second user's post. The first user can use thisbox to make a comment about the second user's post. The third commentfrom the top in FIG. 2 provides an example of a post with additionalcomments. The box provides a comments field 203 for users to inputcomments on other posts.

Immediately below the posts field 206 are two tabs. The first tab is an“everyone watching” tab 208, and the second tab is a “friends” tab 210.The user can click on the first tab 208 to view the stream of posts 202by those using the external interface associated with the event (e.g.,all posts entered into the post field 206 whether the viewing user knowsthe poster or not). The user can also click on the second tab 210 toswitch the stream of posts 202 made by his connections on the socialnetworking system 100, whether they relate to the event or not andwhether they were entered into the post field 206 of the externalinterface or via an interface on the social networking system 100 (inthis case the FACEBOOK® website).

FIG. 3 is an example of another view of the interface 201 of an externalsystem 100, in accordance with one embodiment of the invention. Again,the interface shows the two tabs 208, 210. At the top, right-handcorner, the user can select a link to review the privacy optionsassociated with the interface 201. The user can also select the link tologout, which will allow him to log out of his social networking systemaccount. To the right of the post field 206, the user can select the“Post” button to post whatever content he has entered into the field206. Below the post field 206, the user can click a check box toindicate whether or not he would like to share his posts with everyonewatching the event or just with his social network connections.

Social Networking Interface

FIG. 4 is an example of a social networking interface 400 of a socialnetworking system, in accordance with one embodiment of the invention.Like the external system interface 201, the social networking interface400 includes a post field 406 for users make post (e.g., text, photos,videos, links, etc., or a combination thereof). Also like the externalsystem interface 201, the social networking interface 400 includes astream of posts, specifically a stream of posts 402 or stories relatingto users of the social networking system 100 (and can include postsrelated to entities and activities external to the social networkingsystem 100). When a user posts in the post field 206 of the externalsystem interface 201, the system can be set up so the post appears inthe stream of posts 402 displayed on the social networking system (e.g.,to the user and his friends). Similarly, when a user posts in the postfield 406 of the social networking interface 400, the post can bedisplayed in the external system interface 201 to his connections orothers viewing the event on the external system 150.

Receiving and Displaying Posts about an Event in an External System

FIG. 5 is a flow chart illustrating the steps performed on the externalsystem 150 for receiving and displaying posts entered into an externalinterface and a social networking interface, in accordance with oneembodiment of the invention. The steps illustrated in FIG. 5 can beperformed by the social networking system 100 (e.g., where the socialnetworking system 100 provides the external interface on the externalsystem 150 and manages the receiving/displaying of streams about theevent on the external system 150) or by the external system 150 (e.g.,where the external system 150 provides the external interface andmanages the receiving/displaying of streams about the event on theexternal system 150). The social networking system 100 or the externalsystem 150 provides 502 or otherwise includes an interface (e.g.,interface 201) on the external system 150 for receiving and displayingposts (e.g., in real time) related to an event (e.g., a live onlineevent). The external system 150 or the external interface receives 506one or more posts related the event entered into the external interfaceby users. For example, the system 150 can receive 506 posts entered intothe external interface by a user and the user's connections, and also byother users to whom the user is not connected (e.g., everyone on theexternal system 150). These posts will likely be about the event sincethey are entered into the external interface related to the event. Insome embodiments, the system 150 or interface further receives 508 postsor a stream of posts from the social networking system 100 by users ofthe social networking system. These posts may or may not be about theevent since they were entered into the social networking interface onthe social networking system 100. In some embodiments, the externalinterface provides (or the user may be able to select between viewing) astream of posts entered into the in the external interface by hisconnections (which are likely about the event), a stream of postsentered into the social networking interface by his connections (whichmay or may not be about the event), or a stream including both.

The system 150 incorporates 507 posts received 506, 508 from either orboth of these sources into the interface on the external system (intoone or more streams of posts/content). The external interface thendisplays 510 for the user one or more streams of posts. As explainedabove, multiple streams can be viewed independently. In someembodiments, the user can click on tabs for viewing different streams ofcontent, or the streams can be provided simultaneously.

Providing Social Network Posts to an External System

FIG. 6a is a flow chart illustrating the steps performed by the socialnetworking system 100 in providing to the external system/interfaceposts entered into a social networking interface, in accordance with oneembodiment of the invention. The social networking system 100 receives602 a request via the external system 150 to provide a stream of postsfor a user (e.g., posts made on a social networking system 100) made bythe user's connections/friends. As explained above, this request can bean attempt to access an API of the system 100. This request received 602can also be any other type of indication that a stream of posts shouldbe provided (e.g., a user login attempt, a user interaction with theexternal interface, a user selection of a “friends” tab on the externalinterface, etc.). The system 100 provides 604 the stream of posts (viaAPI or other mechanism) to the external system/interface or otherwisedisplays the requested stream of posts. This stream will be displayed tothe user (for whom it was requested) in the external system interface.

Receiving and Displaying Posts about an Event in a Social NetworkingSystem

FIG. 6b is a flow chart illustrating the steps performed by the socialnetworking system 100 in receiving and displaying posts about an evententered on an external interface, in accordance with one embodiment ofthe invention. The social networking system 100 provides 605 a socialnetworking interface with which users can post content to theirconnections in the social networking system 100. The system 100 furtherreceives 606 from the external system 150 or external interface one ormore posts related to the event entered into the external interface bythe user. In fact, the system 100 can receive many posts entered bymultiple users. In some embodiments, the system 100 receives 606information by accessing this information from the external system. Thesystem 100 incorporates 608 the posts received into a stream of postsand displays 610 this in the social networking interface on the socialnetworking system 100. This content plus the user's post is displayed onthe social networking system 100 to the user and to the user'sconnections.

With FIGS. 5, 6 a and 6 b, the method is illustrated in a flowchart forclarification and ease of presentation. However, many of these steps areoccurring constantly and concurrently. For example, a number of usersare entering post at one time into the external interface and into thesocial networking interface. A number of streams of content are beingdisplayed to many users on both systems 100, 150 at a time. Similarly,the systems 100, 150 can constantly and simultaneously besending/receiving/accessing content from each other for display.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. For example, any of the elements associated with thedynamically selected media presentation may employ any of the desiredfunctionality set forth hereinabove. Thus, the breadth and scope of apreferred embodiment should not be limited by any of the above-describedexemplary embodiments.

Embodiments of this invention may also include a computer readablestorage medium having embodied thereon a program, the program beingexecutable by a processor for performing a method, as described herein,for providing dynamically selected media content to a user of anelectronic device in a social network environment.

What is claimed is:
 1. A computer-implemented method comprising:providing, by a social networking system, a social networking interfacethat is displayed on an external system webpage under a domain of anexternal system, the social networking interface being displayedadjacent to a video stream of a live event, the video stream beingprovided by the external system on the external system webpage, thesocial networking interface comprising a first field configured toreceive posts from the external system webpage related to the videostream and a second field configured to display posts on the externalsystem website for a viewing user of the video stream; receiving via thesocial networking interface a plurality of posts input at the externalsystem webpage by users of the social networking system, at least one ofthe users not connected to the viewing user; forming, by the socialnetworking system, a stream of posts comprising one or more of theplurality of posts received via the social networking interface; andproviding, by the social networking system, the stream of posts fordisplay in the second field of the social networking interface on theexternal system webpage for the viewing user via the interface, thestream of posts including at least one post from the at least one of theusers not connected to the viewing user, and the stream of posts beingdynamically updated by the social networking system while the videostream is provided by the external system.
 2. The method of claim 1,wherein the plurality of posts are posted by the users in real timewhile viewing the video stream.
 3. The method of claim 1, wherein postsin the stream of posts are ordered according to relevance of each of theposts to the viewing user.
 4. The method of claim 1, wherein posts inthe stream of posts are ordered chronologically based on when each ofthe posts was received.
 5. The method of claim 1, wherein the firstfield is configured to receive posts selected from a group consistingof: a line of text about the event, a photo, a video, a link, a calendaritem, a comment on a user's post, and a like of a user's post.
 6. Themethod of claim 1, further comprising requiring a user to log into anaccount associated with the social networking system before the user cansubmit a post through the social networking interface.
 7. The method ofclaim 1, further comprising concurrently displaying the stream of postson a social networking webpage of the social networking system while thevideo stream is provided by the external system.
 8. Acomputer-implemented method comprising: providing, by a socialnetworking system, a social networking interface that is displayed on anexternal system webpage under a domain of an external system, the socialnetworking interface being displayed adjacent to a video stream of alive event, the video stream being provided by the external system onthe external system webpage, the social networking interface comprisinga first field configured to receive posts from the external systemwebpage related to the video stream and a second field configured todisplay posts on the external system website for a viewing user of thevideo stream; receiving via the social networking interface a pluralityof posts input at the external system webpage by users of the socialnetworking system; forming, by the social networking system, a stream ofposts comprising one or more of the plurality of posts received via thesocial networking interface; filtering, by the social networking system,the stream of posts according to one or more criteria; and providing, bythe social networking system, the filtered stream of posts for displayin the second field of the social networking interface on the externalsystem webpage for the viewing user via the interface.
 9. The method ofclaim 8, wherein filtering the stream of posts comprises displaying onlyposts input into a certain field of the social networking interface. 10.The method of claim 8, wherein filtering the stream of posts comprisesfiltering posts according to a time window of a limited durationassociated with the event, wherein posts received outside of the limitedtime window are not displayed.
 11. The method of claim 8, whereinfiltering the stream of posts comprises selecting posts based on userconnections of the viewing user.
 12. The method of claim 8, furthercomprising concurrently displaying the stream of posts on a socialnetworking webpage of the social networking system while the videostream is provided by the external system.
 13. A computer-implementedmethod comprising: providing, by a social networking system, a socialnetworking interface that is displayed on an external system webpageunder a domain of an external system, the social networking interfacebeing displayed adjacent to a video stream of a live event, the videostream being provided by the external system on the external systemwebpage, the social networking interface comprising a first fieldconfigured to receive posts from the external system webpage related tothe video stream and a second field configured to display posts on theexternal system website for a viewing user of the video stream;receiving via the social networking interface a plurality of posts inputat the external system webpage by users of the social networking system;forming, by the social networking system, a stream of posts comprisingone or more of the plurality of posts received via the social networkinginterface; providing, by the social networking system, an identifier foreach of a plurality of posts of the stream of posts, the identifierproviding identifying information regarding the post; and providing, bythe social networking system, the stream of posts for display in thesecond field of the social networking interface on the external systemwebpage for the viewing user via the interface, the stream of postsbeing dynamically updated by the social networking system while thevideo stream is provided by the external system.
 14. The method of claim13, wherein the identifier provides information related to the videostream, the provided information selected from a group consisting of:identification of the video stream, a time of the video stream, and adate of the video stream.
 15. The method of claim 13, wherein theidentifier is selected from a group consisting of: an image, anadvertisement, an icon, and a link.
 16. The method of claim 13, whereinthe identifier indicates a sponsor of the video stream.
 17. The methodof claim 13, further comprising concurrently displaying the stream ofposts on a social networking webpage of the social networking systemwhile the video stream is provided by the external system.